﻿using Core.Tools.IOC;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reactive.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input.StylusPlugIns;

namespace UI.Application.Share.Reactor
{
    /// <summary>
    /// 一个反应釜执行的流程的参数
    /// </summary>
    public class ReactorParameter : ObservableObject
    {
        /// <summary>
        /// RT速率
        /// </summary>
        public double RTSpeed { get; set; } = 0;
        /// <summary>
        /// RT目标
        /// </summary>
        public double RTTarget { get; set; } = 60;
        /// <summary>
        /// 当前流程的持续时间（分钟）
        /// </summary>
        public int Minute { get; set; } = 30;
        /// <summary>
        /// 转速，默认200rpm
        /// </summary>
        public int RotaeSpeed { get; set; } = 200;
        /// <summary>
        /// 加料速率，如1g/min
        /// </summary>
        public int FeedingSpeed { get; set; } = 1;
        /// <summary>
        /// 加料量：100g
        /// </summary>
        public int FeedingAmount { get; set; } = 100;
        /// <summary>
        /// 是否开启RT速度计算
        /// </summary>
        public bool IsRTSpeed { get; set; } = false;
        private ReactorState reactorState;
        /// <summary>
        /// 当前的状态
        /// </summary>
        public ReactorState ReactorState
        {
            get { return reactorState; }
            set { 
                reactorState = value;
                //RaisePropertyChanged("ReactorState");
                RaisePropertyChanged(nameof(ReactorState));

            }
        }
    }
}
